package com.zzyl.nursing.service;

import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;

import com.zzyl.nursing.domain.Device;
import com.zzyl.nursing.dto.DeviceDto;
import com.zzyl.nursing.vo.DeviceDetailVo;
import com.zzyl.nursing.vo.ProductVo;


import java.util.List;
import java.util.Map;

/**
 * IoT设备管理Service接口
 * 
 * @author zjx
 * @date 2025-05-25
 */
public interface IDeviceService extends IService<Device>
{
    /**
     * 查询IoT设备管理
     * 
     * @param id IoT设备管理主键
     * @return IoT设备管理
     */
    public Device selectDeviceById(Long id);

    /**
     * 查询IoT设备管理列表
     * 
     * @param device IoT设备管理
     * @return IoT设备管理集合
     */
    public List<Device> selectDeviceList(Device device);



    void getDeviceList();

    List<ProductVo> allProduct();

    void register(DeviceDto deviceDto);
    /**
     * 查询设备详情
     * @return
     */

    DeviceDetailVo queryDeviceDetail(String iOtId);

    JSONObject queryProductModelInfo(String productKey);


    Map<String, Object> queryDevicePropertyStatus(String deviceName);

    void updateNickName(Device device);

    void delete(String iotId);
}
